SQL: Organizace dat pro 8 pobocek; SP; dynamicky generovane SQL
Otázka od: Karel Kral
18. 12. 2002 9:04
Ahoj,
Potrebujeme v MS SQL zpracovavat data z 8 pobocek a nevime moc, jak na
to nejlepe.
Podrobneji: Ve firme mame 8 pobocek, kazda ma sva vlastni data pohybu.
Nektere ciselniky jsou spolecne centralne distribuovane, nektere lokalni
pro pobocky. Pouzivame vlastni souborovou databazi pro BP7.
Potrebujeme udelat nadstavby pro centralni analyzy, rozhodli jsme se pro
MS SQL. A ted otazka: jak usporadat databazi tak, aby se s tim dalo
rozumne pracovat pro vsechny pobocky zaroven? Sestavy prodeju za celou
firmu atd?
Zatim jsme nasypali vsechno do jedne databaze. Centralni ciselniky jsou
jasne (Zakaznik...) ale co s databazemi pohybu? Kazdou pobocku jsme
naimportovali do zvlastni tabulky, pojmenovali jsme se napr.
Pob1_Doklady, Pob1_PolozkyDokl a to same pro Pob2_... Na prvni pohled to
vypadalo pekne, ale kdyz jsme zacali psat prvni Stored Proc (tak to
chceme delat pri nasem objemu dat), tezce jsme narazili.
Protoze MS SQL v SP neumoznuje predat jmeno tabulky jako promennou, musi
byt budto:
1. kazda SP napsana zvlast pro kazdou pobocku (ta udrzba...)
2. v kazde SP musi byt if Pob = 1 then ..., tedy 8 x to same (opet, ta
udrzba...)
3. prikazy v SP se musi generovat dynamicky a spoustet pomoci Exec (coz
je nekdy skoro nemozne vzhledem k poctu parametru)
Taky nas napadlo:
1. Udelat 8 databazi (pro kazdou pobocku jednu), ale zase je to k necemu
pracovat s 8 databazemi? A co s centralnimi ciselniky?
2. Nasypat vsechny pro vsechny pobocky do jedne spolecne tabulky.
Jenomze ty pohyby maji vazby na ciselniky, ktere jsou pro kazdou pobocku
ruzne. Taky pri milionu pohybu mesicne brzo vznikne z databaze pekny
macek.
Mohli byste se vyjadrit, pokud mate nekdo zkusenosti? Co s tim?
--
______________________________________________________
Karel Kral, vedouci odd. IT / IT dep. manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________